package com.coocaa.ops.admin.v1.auth.sys.biz;

import com.coocaa.ops.admin.v1.auth.sys.mapper.ISysUserMapper;
import com.coocaa.ops.common.core.base.IBaseBiz;
import com.coocaa.ops.common.core.biz.auth.entity.SysUserEntity;

/**
 * @author bijiahao
 * @date : 2019/3/11.
 * @description: 系统用户 biz
 *
 */
public interface ISysUserBiz extends IBaseBiz<ISysUserMapper, SysUserEntity> {
    /**
     * 更新密码
     *
     * @param oldPassword
     * @param user
     * @param newPassword
     * @return
     */
    void updatePassword(String oldPassword, SysUserEntity user, String newPassword) throws Exception;

    /**
     * 获取用户对应的业务分类权限
     *
     * @param userId
     * @return
     */
    Integer[] listUserBusinessType(Integer userId);

    /**
     * 查询用户-通过登录账号
     *
     * @param loginName
     * @return
     */
    SysUserEntity getUserByLoginName(String loginName);

    /**
     * 查询用户-通过邮件
     *
     * @param email
     * @return
     */
    SysUserEntity getUserByEmail(String email);

    /**
     * 查询用户数量-通过部门id
     * @param deptId
     * @return
     */
    Integer getUserCountByDept(Integer deptId);

    /**
     * 用户邮箱地址
     * @param userId
     * @return
     */
    String getEmailByUserId(Integer userId);

    /**
     * 用户登录名称
     * @param userId
     * @return
     */
    String getLoginName(Integer userId);
}
